package com.punai.evaluationSystem.incomeDataEvalute.service;

import com.punai.common.core.page.TableDataInfo;
import com.punai.evaluationSystem.incomeDataEvalute.bo.IncomeDataEvaluteBo;
import com.punai.evaluationSystem.incomeDataEvalute.domain.EvaluationDataPriceSr;
import com.punai.evaluationSystem.incomeDataEvalute.domain.EvaluationResultsSr;

import java.util.List;

public interface IncomeLrEvaluteService {
    /**
     * 结果包数据
     * @param incomeDataEvaluteBo
     * @return
     */
    List<EvaluationResultsSr> initResultsSrTable(IncomeDataEvaluteBo incomeDataEvaluteBo);

    /**
     * 保存资产库
     * @param resultIds
     * @return
     */
    int saveAssetLibrary(List<String> resultIds);

    /**
     * 清洗后的数据
     * @param incomeDataEvaluteBo
     * @return
     */
    List<IncomeDataEvaluteBo> initCleanDataTable(IncomeDataEvaluteBo incomeDataEvaluteBo);

    /**
     * 清洗后需要评价的数据
     * @param incomeDataEvaluteBo
     * @return
     */
    TableDataInfo initCleanDataEvaluteTable(IncomeDataEvaluteBo incomeDataEvaluteBo);

    /**
     * 根据id查找明细数据
     * @param incomeDataEvaluteBo
     * @return
     */
    List<IncomeDataEvaluteBo> initTableDetailInfoData(IncomeDataEvaluteBo incomeDataEvaluteBo);

    /**
     * 明细数据id
     * @param incomeDataEvaluteBo
     * @return
     */
    List<String> cleanDataInfoIdList(IncomeDataEvaluteBo incomeDataEvaluteBo);

    /**
     * 重新计算
     * @param incomeDataEvaluteBo
     * @return
     */
    IncomeDataEvaluteBo recalculation(IncomeDataEvaluteBo incomeDataEvaluteBo);

    /**
     * 保存价格评价
     * @param incomeDataEvaluteBo
     * @return
     */
    int saveEvaluationPrice(IncomeDataEvaluteBo incomeDataEvaluteBo);

    /**
     * 修改价格评价
     * @param incomeDataEvaluteBo
     * @return
     */
    int updateEvaluationPrice(IncomeDataEvaluteBo incomeDataEvaluteBo);

    /**
     * 保存价格评价
     * @param incomeDataEvaluteBo
     * @return
     */
    List<EvaluationDataPriceSr> initEvaluteDataList(IncomeDataEvaluteBo incomeDataEvaluteBo);

    /**
     * 评价明细数据id
     * @param incomeDataEvaluteBo
     * @return
     */
    List<String> evaluteDataInfoIdList(IncomeDataEvaluteBo incomeDataEvaluteBo);
}
